package com.cy.store.mapper;

import com.cy.store.entity.Address;
import com.cy.store.entity.Cart;
import com.cy.store.entity.Product;
import com.cy.store.vo.CartVO;

import java.util.Date;
import java.util.List;

/**
 * 持久层购物车相关操作接口
 */
public interface CartMapper {
    /**
     * 新增购物车
      * @param cart
     * @return
     */
  Integer insertCart(Cart cart);

    /**
     * 更新购物车中的商品数量
     * @param cid
     * @param modifiedUser
     * @param modifiedTime
     * @return
     */
  Integer updateNum(Integer cid,Integer num,String modifiedUser,Date modifiedTime);

    /**
     * 查询用户的购物车信息是否存在
     * @param uid
     * @return
     */
  Cart findProductByUid(Integer uid,Integer pid);

  /**
   * 通过用户id查询购物车中的商品信息
   * @param uid
   * @return CartVO，值对象格式的结果集，表示同时拥有查回两张表的字段信息
   */
  List<CartVO> findCartProductByUid(Integer uid);

    /**
     * 通过cid查询购物车信息是否存在
     * @param cid
     * @return
     */
  Cart findCartByCid(Integer cid);

    /**
     * 通过cid获取需要展示的商品信息
     * @param cids
     * @return
     */
    List<CartVO> findCartProductByCid(Integer[] cids);
}
